package cn.xopencode.oss.convert.passport;


import cn.xopencode.oss.rpc.oauth.dto.OAuth2AccessTokenRespDTO;
import cn.xopencode.oss.rpc.passport.vo.*;
import cn.xopencode.oss.rpc.sms.dto.UserSendSmsCodeReqDTO;
import cn.xopencode.oss.rpc.sms.dto.UserVerifySmsCodeReqDTO;
import cn.xopencode.userservice.rpc.user.dto.CreateUserDTO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

@Mapper
public interface PassportConvert {

    PassportConvert INSTANCE = Mappers.getMapper(PassportConvert.class);

    /**
     * 将PassportLoginBySmsReqVO转换为UserVerifySmsCodeReqDTO
     * @param bean
     * @return
     */
    UserVerifySmsCodeReqDTO convert(PassportLoginBySmsReqVO bean);

    CreateUserDTO convert02(PassportLoginBySmsReqVO bean);

    CreateUserDTO convert03(PassportLoginByMobileReqVO bean);

    CreateUserDTO convert04(PassportLoginByUserNameReqVO bean);

    UserSendSmsCodeReqDTO convert(PassportSendSmsRespVO bean);

    PassportAccessTokenRespVO convert(OAuth2AccessTokenRespDTO bean);

}
